﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using DA_OOMModel;
using DA_OOMModelIDAL;
using DA_OOMDALFactory;
using System.Collections;
using System.IO;

namespace DaCredito
{
    public partial class EmissaoSegundaViaDocumento : WebPageGrid
    {

        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);


        }

        protected override void PrePageLoad()
        {

            base.PrePageLoad();

            this.ioTipoEntidade = typeof(TituloFinanceiro);
            this.ioTipoPKEntidade = typeof(TituloFinanceiroPK);
            this.isNomeAtributos = new string[4] { "TtfIdTitulo", "TtfVlTitulo", "TtfNuNossoNumero", "TtfDtVencimento" };

        }

        protected override void TrataSelecaoRegistro(object aoInstanciaEntidade)
        {
            TituloFinanceiro loTituloFinanceiro = (TituloFinanceiro)aoInstanciaEntidade;

            this.EmitirBoleto(loTituloFinanceiro);

        }
        protected bool EmitirBoleto(TituloFinanceiro aoTituloFinanceiro)
        {
            string lsCaminhoArquivo = Request.PhysicalApplicationPath;
            string lsNomeArquivo = "teste2.html";

            string lsConteudoHtmlBoleto = ControladorDaCredito.GetInstance().EmitirBoleto(aoTituloFinanceiro);

            try
            {
                using (FileStream fs = File.Create(lsCaminhoArquivo + lsNomeArquivo))
                {
                    using (StreamWriter sw = new StreamWriter(fs))
                    {
                        sw.Write(lsConteudoHtmlBoleto);
                    }
                }
            }
            catch (Exception ex)
            {

            }

            Response.Write("<script>");
            Response.Write("window.open('" + lsNomeArquivo + "','_blank')");
            Response.Write("</script>");

            return true;

        }
        protected override bool OnUpdate()
        {
           
            return true;

          
        }

        protected void GridViewLista_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "EmitirBoleto")
            {
                int liIndex = Convert.ToInt32(e.CommandArgument);
                GridViewRow loRow = GridViewLista.Rows[liIndex];
                
                int ldcIdTitulo = Int32.Parse(loRow.Cells[0].Text);
                ITituloFinanceiroDAL loTituloFinanceiroDAL = ConcreteDALFactory.CreateTituloFinanceiroDAL();

                TituloFinanceiro loTituloFinanceiro = loTituloFinanceiroDAL.Load(new TituloFinanceiroPK(ldcIdTitulo));
                this.EmitirBoleto(loTituloFinanceiro);
            }
        }


        protected void GridViewLista_RowCreated(object sender, GridViewRowEventArgs e)
        {
           /* if (e.Row.RowType == DataControlRowType.DataRow)
            {
                ButtonField addButton = (ButtonField)e.Row.Cells[4].Controls[0];
                addButton.CommandName = e.Row.RowIndex.ToString();
            }*/
        }

       
    }
}
